A multicast source or multicast router manages with the IGMP the process in which a multicast host joins or leaves a multicast group or receives a multicast packet from the multicast source or multicast router. In practical applications to networks, a multicast host is usually connected to the multicast source or multicast router through a network device instead of direct connection. The network device includes a layer-2 network device, such as a layer-2 Ethernet switch, and a layer-3 network device, such as a router. Different network devices produced by different manufacturers may or may not support a multicast routing protocol, and when a network device does not support the multicast routing protocol, multicast communication fails. In order to ensure normal multicast communication for a multicast host, i.e., ensure that the multicast host may join or leave a multicast group or receive a multicast packet from the multicast source or multicast router, IGMP proxy functions may be adopted by the network device between the multicast source or multicast router and the multicast host to support multicast applications. The network device equipped with the IGMP proxy functions is referred to as an IGMP proxy device.
An IGMP proxy device, over an uplink connected with the multicast source or multicast router, receives a multicast packet and IGMP membership query message and sends an IGMP membership report message and IGMP leave group message; over a downlink connected with the multicast host, sends a multicast packet and IGMP membership query message and receives an IGMP membership report message from the multicast host. The IGMP membership query message, IGMP membership report message and IGMP leave group message are all IGMP messages.
Since the IGMP proxy device receives the multicast packets over the uplink, replicates the multicast packet and sends the multicast packet over the downlink connected with each multicast host, the availability of the uplink between the IGMP proxy device and the multicast source or multicast router is crucial to each multicast host connected to the IGMP proxy device with respect to the normal receiving of the multicast packet.
The system administrator of the IGMP proxy device in the related art usually configures multiple uplinks to the multicast source or multicast router for the IGMP proxy device, hence even if one of the multiple uplinks fails, the IGMP proxy device may still guarantee the normal multicast communication for a multicast host. However, every uplink receives from the multicast source or multicast router the same multicast packet, and the same multicast packet is replicated and sent over the downlink to the multicast host, which results in that the multicast host receives multiple repeated multicast packets.
For example, if three uplinks, namely, Uplinks A, B and C, are configured for the IGMP proxy device, and the IGMP proxy device receives a multicast packet from the multicast source or multicast router through Uplink A, Uplink B and Uplink C respectively, the IGMP proxy device actually receives three identical multicast packets, replicates the three identical multicast packets, and sends replicated multicast packets over the downlink to the multicast host. Therefore the multicast host also receives three identical multicast packets. Such operation wastes bandwidth of the multicast host and increases system overhead of the IGMP proxy device.